<?php
/**
 * Este es un helper CakePHP que sirve para dar distintos tipos personalizados de formato
 *
 * @author MRadosta <mradosta AT pragmatia.com>
 * @from 11/07/2006
 */
class FormatoHelper extends Helper
{
    function formatearFechaHora($valor)
    {
		return $this->formatearFecha($valor) . " " . $this->formatearHora($valor);
	}

	function formatearHora($valor)
    {
		if (strpos($valor," "))
	    {
            $hora=explode(":",substr($valor,strpos($valor," ")+1));
            if (count($hora) !=3)
            {
                return $valor;
            }
			elseif ($hora[0] === "00" && $hora[1] === "00" && $hora[2] === "00")
				return "";
			else
				return $hora[0] . ":" . $hora[1] . ":" . $hora[2];
        }
		else
			return $valor;
    }

    function formatearFecha($valor)
    {
		if (strpos($valor,"-"))
	    {
            $fecha=explode("-",substr($valor,0,10));
            // Formatear fecha de MySql a Frances  yyyy-mm-dd ->   dd/mm/yyyy
            if (count($fecha)!=3)
            {
                return $valor;
            }

            $mes=$fecha[1];
            $dia=$fecha[2];
            $anio=$fecha[0];		

            if (strlen($dia)==1)
            {
                $dia="0".$dia;
            }
            if (strlen($mes)==1)
            {
                $mes="0".$mes;
            }
            if (strlen($anio)==2 && $anio>0)
            {
                $anio="20".$anio;
            }
            if (strlen($anio)==2 && $anio<0)
            {
                $anio="19".$anio;
            }
            if ($dia=="00" || $mes=="00" || $anio=="00") 
            {
                return "";
            }
            return $dia . "/" . $mes . "/" . $anio;
        }
		else
			return $valor;
    }

/** 
 * Formatea un numero con 2 decimales por defecto
 * @param  string  $numero  Numero a formatear
 * @param  string  $decimales Cantidad de decimales que se desea. Por defecto 2
 * @return string  Numero formateado
*/
    function formatearNumero($numero, $decimales=2)
    {
        if(empty($numero))
        {
            $numero = 0;
        }
        return number_format($numero, $decimales, ",", ".");     
	}

}

?>
